/*
 * Whatever 
 */

new function ()
{
        /**
         * @private
         * A reference to Function.prototype
         * @type Object
         */
    var F= Function.prototype
    
        /**
         * @private
         * A reference to the Array.prototype.slice method
         * @type Function
         */
    ,   S= Array.prototype.slice
    
        /**
         * @private
         * A static variable
         * @type String
         */
    ,   A= 'anonymous';
    
    /**
     * Add any number of 
     * <code>
     *     <pre>
     *     
     *         Property.define
     *         (
     *             {
     *                 value: null
     *                 
     *             ,   setValue: function (value)
     *                 {
     *                     this.value= value;
     *                 }
     *                 
     *             ,   getValue: function ()
     *                 {
     *                     return this.value;
     *                 }
     *             }
     *         );
     *         
     *         function Property (value)
     *         {
     *             this.setValue(value);
     *         };
     *         
     *     
     *     <pre>
     * </code>
     * 
     * @param {...Object} arguments
     * @return {Function}
     * 
     * @see Function#implementStatic
     * @memberOf Function
     * @addon
     */
    Function.prototype.implement= function ()
    {
        ;
    };
    
    /**
     * 
     * <code>
     *     <pre>
     *     
     *     <pre>
     * </code>
     * 
     * @param {...Object} arguments
     * @return {Function}
     */
    Function.prototype.implementStatic= function ()
    {
        ;
    };
    
    /**
     * 
     * <code>
     *     <pre>
     *     
     *     <pre>
     * </code>
     */    
    Function.prototype.implement.preventOverride= true;
    
    /**
     * 
     * <code>
     *     <pre>
     *     
     *     <pre>
     * </code>
     * 
     * @return {String}
     */    
    Function.prototype.getName= function ()
    {
        ;
    };
    
    /**
     * 
     * <code>
     *     <pre>
     *     
     *     <pre>
     * </code>
     * 
     * @param {Object} value
     * @return {Boolean}
     */  
    Function.prototype.type= function (value)
    {
        ;
    };
    
    /**
     * 
     * <code>
     *     <pre>
     *     
     *     <pre>
     * </code>
     * 
     * @param {Object} value
     * @return {Boolean}
     */  
    Function.prototype.is= function (value)
    {
        ;
    };
    
    /**
     * Bind a functions execution scope and optionally supply it additional 
     * arguments
     * <code>
     *     <pre>
     *     
     *     <pre>
     * </code>
     * 
     * @param {Object} scope      Optional. The functions execution scope. The 
     *                            defatul execution scope is the global object.
     * @param {...Object} rest    Optional. Any number of arguments.
     * @return {Function}         A curried, bound or curried and bound function. 
     */  
    Function.prototype.bind= function (scope) 
    {
        ;
    };
    
    /**
     * Defer a functions execution to a future point in time
     * <code>
     *     <pre>
     *     
     *     <pre>
     * </code>
     * 
     * @param {Number} interval   The number of milliseconds to defer execution
     * @param {Object} scope      Optional. A scope in which to execute the function
     * @param {...Object} rest    Optional. Any number of additional arguments.
     * @return {Object}           
     */  
    Function.prototype.defer= function (interval, scope) 
    {
        ;
    };
}
